divisibility problems